A Survey of Software Architecture Evolvability
نویسندگان
چکیده
For long-lived systems, there is a need to address evolvability (i.e. a system’s ability to easily accommodate changes) explicitly during the entire lifecycle. In this report, we undertake a systematic review to obtain an overview of the existing studies in promoting software evolvability at architectural level. The search strategy identified 3036 studies, of which 54 were catalogued as primary studies for this review after using multi-step selection process. The studies are classified into five main categories of themes, including techniques that support quality considerations during software architecture design, architectural quality evaluation, economic valuation, architectural knowledge management and modeling techniques. Four dimensions of factors are identified that exert influence on software evolvability. To cope with these diverse influencing factors, combination of appropriate techniques becomes necessary.
منابع مشابه
Extended Abstract Software Architecture Evolution – An Integrated Approach in Industry
To improve the capability in being able to understand and analyze systematically software architecture evolution, we introduced in our earlier work a software evolvability model and software architecture evolvability analysis method. This extended abstract reports the integration of the evolvability model and evolvability analysis method in an industrial context.
متن کاملSoftware architecture evolution through evolvability analysis
In this thesis, we study evolution of software architecture and investigate ways to support this evolution. The central theme of the thesis is how to analyze software evolvability, i.e., a system’s ability to easily accommodate changes. We focus on two main aspects: (i) what software characteristics are necessary for an evolvable software system; and (ii) how to assess evolvability of long-...
متن کاملA systematic review of software architecture evolution research
Context: Software evolvability describes a software system’s ability to easily accommodate future changes. It is a fundamental characteristic for making strategic decisions, and increasing economic value of software. For long-lived systems, there is a need to address evolvability explicitly during the entire software lifecycle in order to prolong the productive lifetime of software systems. For...
متن کاملDesigning for Maintainability, Failure Resilience, and Evolvability in Ubiquitous Computing Software
The design constraints in ubiquitous computing (ubicomp) differ from those traditionally emphasized by the systems community: evolvability, long-term maintainability, and robustness to transient failures are essential, while scalability and performance are lesser concerns, due to the nature of ubicomp itself and the performance of today’s commodity equipment. We show how these observations are ...
متن کاملSurvey the Security Function of Integration of vehicular ad hoc Networks with Software-defiend Networks
In recent years, Vehicular Ad Hoc Networks (VANETs) have emerged as one of the most active areas in the field of technology to provide a wide range of services, including road safety, passenger's safety, amusement facilities for passengers and emergency facilities. Due to the lack of flexibility, complexity and high dynamic network topology, the development and management of current Vehicular A...
متن کامل